package com.niit.session20;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class StudentDao1 {
	public static void main(String[] args) {
		Connection conn = JDBCUtils.getConn();
		Statement statement = null;
		ResultSet rs = null;
		try {
//			在createStatement的时候可以设置结果集的类型，默认值就是只能向前滚动和只读
			statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
			rs = statement.executeQuery("SELECT * FROM student;");
//			在调用.next()方法之前是无法使用getxxx方法来获取数据的，因为这个时候结果集的光标还在第一个元素之前，没有指向任何元素
//			System.out.println(rs.getString("sid"));
//			让游标往下移动一位，并且返回一个布尔值，这个布尔值指的是是否还有下一个元素
			boolean next = rs.next();
			System.out.println(next);
			rs.next();
//			判断当前游标是否在第一个位置
			System.out.println(rs.isFirst());
//			判断当前游标是否在最后一个位置
			System.out.println(rs.isLast());
//			getxxx方法可以获取游标当前指向的行里的数据，根据数据类型的不同修改方法名
//			参数可以是数据的属性名字，也可以是下标，下标从0开始
//			long sid = rs.getLong(1);
//			更推荐使用属性名字的获取方式
			long sid = rs.getLong("sid");
			System.out.println(sid);
			System.out.println(rs.getInt("batch"));
			while (rs.next()) {
				System.out.println(rs.getString("sid")+"--"+rs.getString("name"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			JDBCUtils.close(conn, statement, rs);
		}
		
	}

}
